home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / isicom.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  3KB  |  132 lines

  1. #ifndef _LINUX_ISICOM_H
  2. #define _LINUX_ISICOM_H
  3.  
  4. /*#define        ISICOM_DEBUG*/
  5. /*#define        ISICOM_DEBUG_DTR_RTS*/
  6.  
  7.  
  8. /*
  9.  *    Firmware Loader definitions ...
  10.  */
  11.  
  12. #define        __MultiTech        ('M'<<8)
  13. #define        MIOCTL_LOAD_FIRMWARE    (__MultiTech | 0x01)
  14. #define         MIOCTL_READ_FIRMWARE    (__MultiTech | 0x02)
  15. #define         MIOCTL_XFER_CTRL    (__MultiTech | 0x03)
  16. #define         MIOCTL_RESET_CARD    (__MultiTech | 0x04)
  17.  
  18. #define        DATA_SIZE    16
  19.  
  20. typedef    struct    {
  21.         unsigned short    exec_segment;
  22.         unsigned short    exec_addr;
  23. }    exec_record;
  24.  
  25. typedef    struct    {
  26.         int        board;        /* Board to load */
  27.         unsigned short    addr;
  28.         unsigned short    count;
  29. }    bin_header;
  30.  
  31. typedef    struct    {
  32.         int        board;        /* Board to load */
  33.         unsigned short    addr;
  34.         unsigned short    count;
  35.         unsigned short    segment;
  36.         unsigned char    bin_data[DATA_SIZE];
  37. }    bin_frame;
  38.  
  39. #ifdef __KERNEL__
  40.  
  41. #define        YES    1
  42. #define        NO    0
  43.  
  44. #define        ISILOAD_MISC_MINOR    155    /* /dev/isctl */
  45. #define        ISILOAD_NAME        "ISILoad"
  46.  
  47. /*    
  48.  *  ISICOM Driver definitions ...
  49.  *
  50.  */
  51.  
  52. #define        ISICOM_NAME    "ISICom"
  53.  
  54. /*
  55.  *      PCI definitions
  56.  */
  57.  
  58.  #define        DEVID_COUNT     9
  59.  #define        VENDOR_ID       0x10b5
  60.  
  61. /*
  62.  *    These are now officially allocated numbers
  63.  */
  64.  
  65. #define        ISICOM_NMAJOR    112    /* normal  */
  66. #define        ISICOM_CMAJOR    113    /* callout */
  67. #define        ISICOM_MAGIC    (('M' << 8) | 'T')
  68.  
  69. #define        WAKEUP_CHARS    256    /* hard coded for now    */ 
  70. #define        TX_SIZE        254 
  71.  
  72. #define        BOARD_COUNT    4
  73. #define        PORT_COUNT    (BOARD_COUNT*16)
  74.  
  75. #define        SERIAL_TYPE_NORMAL    1
  76.  
  77. /*   character sizes  */
  78.  
  79. #define        ISICOM_CS5        0x0000
  80. #define        ISICOM_CS6        0x0001
  81. #define        ISICOM_CS7        0x0002
  82. #define        ISICOM_CS8        0x0003
  83.  
  84. /* stop bits */
  85.  
  86. #define        ISICOM_1SB        0x0000
  87. #define        ISICOM_2SB        0x0004
  88.  
  89. /* parity */
  90.  
  91. #define        ISICOM_NOPAR        0x0000
  92. #define        ISICOM_ODPAR        0x0008
  93. #define        ISICOM_EVPAR        0x0018
  94.  
  95. /* flow control */
  96.  
  97. #define        ISICOM_CTSRTS        0x03
  98. #define        ISICOM_INITIATE_XONXOFF    0x04
  99. #define        ISICOM_RESPOND_XONXOFF    0x08
  100.  
  101. #define InterruptTheCard(base) (outw(0,(base)+0xc)) 
  102. #define ClearInterrupt(base) (inw((base)+0x0a))    
  103.  
  104. #define    BOARD(line)  (((line) >> 4) & 0x3)
  105.  
  106.     /*    isi kill queue bitmap    */
  107.     
  108. #define        ISICOM_KILLTX        0x01
  109. #define        ISICOM_KILLRX        0x02
  110.  
  111.     /* isi_board status bitmap */
  112.     
  113. #define        FIRMWARE_LOADED        0x0001
  114. #define        BOARD_ACTIVE        0x0002
  115.  
  116.      /* isi_port status bitmap  */
  117.  
  118. #define        ISI_CTS            0x1000
  119. #define        ISI_DSR            0x2000
  120. #define        ISI_RI            0x4000
  121. #define        ISI_DCD            0x8000
  122. #define        ISI_DTR            0x0100
  123. #define        ISI_RTS            0x0200
  124.  
  125.  
  126. #define        ISI_TXOK        0x0001 
  127.  
  128. #endif    /*    __KERNEL__    */
  129.  
  130. #endif    /*    ISICOM_H    */
  131.  
  132.